"""
2.3.1 使用__file__特殊成员返回当前文件的全路径
"""
# __file__表示当前python脚本文件的全路径（包含了python脚本文件名本身）
print(__file__)
# 运行结果如下：
# /Users/1117i/mygit/zrlog_test/2、使用OS库操作文件及目录/2.3_通过os.path子模块来操作目录及文件.py


"""
2.3.2 使用os.path.dirname()方法返回文件所在目录
"""
import os
# 当前python脚本文件所在的目录
path1 = os.path.dirname(__file__)
print(path1)
# 运行结果如下：
# /Users/1117i/mygit/zrlog_test/2、使用OS库操作文件及目录

# 当前python脚本文件所在目录的上一级目录
path2 = os.path.dirname(path1)
print(path2)
# 运行结果如下：
# /Users/1117i/mygit/zrlog_test

"""
2.3.3 使用os.path.abspath()方法返回文件绝对路径
"""
# 当前python脚本文件的绝对路径（完整路径），包含了python脚本文件名本身
path3 = os.path.abspath(__file__)
print(path3)
# 运行结果如下：
# /Users/1117i/mygit/zrlog_test/2、使用OS库操作文件及目录/2.3_通过os.path子模块来操作目录及文件.py

'''
2.3.4 组合使用os.path.dirname()方法和os.path.abspath()方法
'''
# 当前python脚本文件所在的目录
path4 = os.path.dirname(os.path.abspath(__file__))
print(path4)
# 运行结果如下：
# /Users/1117i/mygit/zrlog_test/2、使用OS库操作文件及目录

"""
2.3.5 使用os.path.join()方法进行路径拼装
"""
# 2.3_通过os.path子模块来操作目录及文件.py的绝对路径
path5 = os.path.join(os.path.dirname(__file__),"2.3_通过os.path子模块来操作目录及文件.py")
print(path5)


print("#########################")

"""
2.3.6 使用os.path.exists()方法判断文件或是否存在
    1、os.path.exists()判断文件或目录是否存在
    2、os.path.isfile()判断是否为文件
    3、os.path.isdir()判断是否目录
"""
# 当前python文件的绝对路径，包含了python脚本文件名本身
conf_file = os.path.abspath(__file__)
# 当前python文件所在的目录
conf_path = os.path.dirname(conf_file)
# 拼接.py文件的绝对路径，包含了python脚本文件名本身
conf_file1 = os.path.join(conf_path,"2.3_通过os.path子模块来操作目录及文件.py")
# 当前python文件所在目录的上一级目录
conf_path1 = os.path.dirname(conf_path)
# 拼接.py文件的绝对路径，包含了python脚本文件名本身
con_file2 = conf_path1 + os.sep + "2、使用OS库操作文件及目录" + os.sep + "2.3_通过os.path子模块来操作目录及文件.py"
# 判断文件是否存在
res_file = os.path.exists(conf_file)
print(res_file)    # True
# 判断目录是否存在
res_dir = os.path.exists(conf_path)
print(res_dir)    # True
# 判断是否为文件
is_file = os.path.isfile(conf_file1)
print(is_file)    # True
# 判断是否为目录
is_dir = os.path.isdir(conf_path1)
print(is_dir)    # True


